\hypertarget{MMU-shanshan_8c}{
\section{/home/carminha/workspace/os-\/raphael-\/shanshan/trunk/MMU-\/shanshan.c File Reference}
\label{MMU-shanshan_8c}\index{/home/carminha/workspace/os-\/raphael-\/shanshan/trunk/MMU-\/shanshan.c@{/home/carminha/workspace/os-\/raphael-\/shanshan/trunk/MMU-\/shanshan.c}}
}
{\ttfamily \#include $<$sys/types.h$>$}\par
{\ttfamily \#include $<$sys/time.h$>$}\par
{\ttfamily \#include $<$stdio.h$>$}\par
{\ttfamily \#include $<$stdlib.h$>$}\par
{\ttfamily \#include $<$unistd.h$>$}\par
{\ttfamily \#include $<$string.h$>$}\par
{\ttfamily \#include $<$sys/select.h$>$}\par
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__tlb__entry}{\_\-tlb\_\-entry}
\item 
struct \hyperlink{struct__tlb__table}{\_\-tlb\_\-table}
\item 
struct \hyperlink{struct__frame__table__entry}{\_\-frame\_\-table\_\-entry}
\item 
struct \hyperlink{struct__frame__table}{\_\-frame\_\-table}
\item 
struct \hyperlink{struct__page__table__entry}{\_\-page\_\-table\_\-entry}
\begin{DoxyCompactList}\small\item\em LA TABLE DES PAGES,verifier si ce cadre est libre ou occupé. \item\end{DoxyCompactList}\item 
struct \hyperlink{struct__page__table}{\_\-page\_\-table}
\end{DoxyCompactItemize}
\subsection*{Defines}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{MMU-shanshan_8c_a2a37b4217917105aac7557862ccc19c3}{MAXSIZE}~256
\item 
\#define \hyperlink{MMU-shanshan_8c_aa5856d733c21079da0c10098df3164a8}{INERROR}~-\/1
\item 
\#define \hyperlink{MMU-shanshan_8c_adf8f731a9c130dc01b848aac99ab7f7c}{INPT}~0
\item 
\#define \hyperlink{MMU-shanshan_8c_a1963456a080ed37d2fb8201db8b84876}{INADD}~1
\item 
\#define \hyperlink{MMU-shanshan_8c_a1dbad19f84728fc83800345abe75cc87}{INFLUSH}~2
\item 
\#define \hyperlink{MMU-shanshan_8c_a598bed6597aa329da8f2fb2b4dda464e}{INKILL}~3
\item 
\#define \hyperlink{MMU-shanshan_8c_a67b378a626278a335dbd930baad50dfb}{INSTOP}~4
\item 
\#define \hyperlink{MMU-shanshan_8c_aa8cecfc5c5c054d2875c03e77b7be15d}{TRUE}~0
\item 
\#define \hyperlink{MMU-shanshan_8c_aa93f0eb578d23995850d61f7d61c55c1}{FALSE}~1
\item 
\#define \hyperlink{MMU-shanshan_8c_a2a37b4217917105aac7557862ccc19c3}{MAXSIZE}~256
\item 
\#define \hyperlink{MMU-shanshan_8c_aa5856d733c21079da0c10098df3164a8}{INERROR}~-\/1
\item 
\#define \hyperlink{MMU-shanshan_8c_adf8f731a9c130dc01b848aac99ab7f7c}{INPT}~0
\item 
\#define \hyperlink{MMU-shanshan_8c_a1963456a080ed37d2fb8201db8b84876}{INADD}~1
\item 
\#define \hyperlink{MMU-shanshan_8c_a1dbad19f84728fc83800345abe75cc87}{INFLUSH}~2
\item 
\#define \hyperlink{MMU-shanshan_8c_a598bed6597aa329da8f2fb2b4dda464e}{INKILL}~3
\item 
\#define \hyperlink{MMU-shanshan_8c_a67b378a626278a335dbd930baad50dfb}{INSTOP}~4
\item 
\#define \hyperlink{MMU-shanshan_8c_aa8cecfc5c5c054d2875c03e77b7be15d}{TRUE}~0
\item 
\#define \hyperlink{MMU-shanshan_8c_aa93f0eb578d23995850d61f7d61c55c1}{FALSE}~1
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \hyperlink{struct__tlb__table}{\_\-tlb\_\-table} \hyperlink{MMU-shanshan_8c_a931a076b86bfd04c289bdf1eb83a95c6}{TLB\_\-table}
\item 
typedef struct \hyperlink{struct__page__table}{\_\-page\_\-table} \hyperlink{MMU-shanshan_8c_a5c4e5ee44ef941e907226e78ccfd2c3c}{Page\_\-table}
\item 
typedef struct \hyperlink{struct__frame__table}{\_\-frame\_\-table} \hyperlink{MMU-shanshan_8c_a803a7aeb8121b9770f4775c44ada788b}{Frame\_\-table}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static int \hyperlink{MMU-shanshan_8c_a1f1c7f2736fc15ec70543b32050f2503}{read\_\-and\_\-parse} (FILE $\ast$stream, int $\ast$outval1, int $\ast$outval2)
\item 
static void \hyperlink{MMU-shanshan_8c_af4215a88001c689829f6d9170143bd15}{init\_\-surv} (fd\_\-set $\ast$s, struct timeval $\ast$t)
\item 
static void \hyperlink{MMU-shanshan_8c_a0abcb47af9e858d68a2ae01cad25d1dd}{flush\_\-tlb} (\hyperlink{struct__tlb__table}{TLB\_\-table} $\ast$tlb, int cadre\_\-max)
\item 
static int \hyperlink{MMU-shanshan_8c_aea5e8374602a55027f2a13b91ee35852}{pt\_\-tlb} (\hyperlink{struct__tlb__table}{TLB\_\-table} tlb, int page\_\-num)
\item 
int \hyperlink{MMU-shanshan_8c_a3cddeb42542ab30a68d2cde1498c4800}{cherche\_\-entree} (\hyperlink{struct__tlb__table}{TLB\_\-table} $\ast$tlb)
\item 
int \hyperlink{MMU-shanshan_8c_adb192d5846cb5adcfcddaf893e75adc4}{add\_\-tlb} (\hyperlink{struct__tlb__table}{TLB\_\-table} $\ast$tlb, int page\_\-num, int frame\_\-num)
\item 
void \hyperlink{MMU-shanshan_8c_ae4525b7daf4704ecbe2523070dd7222b}{affiche} (\hyperlink{struct__tlb__table}{TLB\_\-table} tlb)
\item 
int \hyperlink{MMU-shanshan_8c_a0ddf1224851353fc92bfbff6f499fa97}{main} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
\end{DoxyCompactItemize}


\subsection{Define Documentation}
\hypertarget{MMU-shanshan_8c_aa93f0eb578d23995850d61f7d61c55c1}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!FALSE@{FALSE}}
\index{FALSE@{FALSE}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{FALSE}]{\setlength{\rightskip}{0pt plus 5cm}\#define FALSE~1}}
\label{MMU-shanshan_8c_aa93f0eb578d23995850d61f7d61c55c1}
\hypertarget{MMU-shanshan_8c_aa93f0eb578d23995850d61f7d61c55c1}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!FALSE@{FALSE}}
\index{FALSE@{FALSE}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{FALSE}]{\setlength{\rightskip}{0pt plus 5cm}\#define FALSE~1}}
\label{MMU-shanshan_8c_aa93f0eb578d23995850d61f7d61c55c1}
\hypertarget{MMU-shanshan_8c_a1963456a080ed37d2fb8201db8b84876}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INADD@{INADD}}
\index{INADD@{INADD}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INADD}]{\setlength{\rightskip}{0pt plus 5cm}\#define INADD~1}}
\label{MMU-shanshan_8c_a1963456a080ed37d2fb8201db8b84876}
\hypertarget{MMU-shanshan_8c_a1963456a080ed37d2fb8201db8b84876}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INADD@{INADD}}
\index{INADD@{INADD}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INADD}]{\setlength{\rightskip}{0pt plus 5cm}\#define INADD~1}}
\label{MMU-shanshan_8c_a1963456a080ed37d2fb8201db8b84876}
\hypertarget{MMU-shanshan_8c_aa5856d733c21079da0c10098df3164a8}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INERROR@{INERROR}}
\index{INERROR@{INERROR}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INERROR}]{\setlength{\rightskip}{0pt plus 5cm}\#define INERROR~-\/1}}
\label{MMU-shanshan_8c_aa5856d733c21079da0c10098df3164a8}
\hypertarget{MMU-shanshan_8c_aa5856d733c21079da0c10098df3164a8}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INERROR@{INERROR}}
\index{INERROR@{INERROR}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INERROR}]{\setlength{\rightskip}{0pt plus 5cm}\#define INERROR~-\/1}}
\label{MMU-shanshan_8c_aa5856d733c21079da0c10098df3164a8}
\hypertarget{MMU-shanshan_8c_a1dbad19f84728fc83800345abe75cc87}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INFLUSH@{INFLUSH}}
\index{INFLUSH@{INFLUSH}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INFLUSH}]{\setlength{\rightskip}{0pt plus 5cm}\#define INFLUSH~2}}
\label{MMU-shanshan_8c_a1dbad19f84728fc83800345abe75cc87}
\hypertarget{MMU-shanshan_8c_a1dbad19f84728fc83800345abe75cc87}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INFLUSH@{INFLUSH}}
\index{INFLUSH@{INFLUSH}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INFLUSH}]{\setlength{\rightskip}{0pt plus 5cm}\#define INFLUSH~2}}
\label{MMU-shanshan_8c_a1dbad19f84728fc83800345abe75cc87}
\hypertarget{MMU-shanshan_8c_a598bed6597aa329da8f2fb2b4dda464e}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INKILL@{INKILL}}
\index{INKILL@{INKILL}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INKILL}]{\setlength{\rightskip}{0pt plus 5cm}\#define INKILL~3}}
\label{MMU-shanshan_8c_a598bed6597aa329da8f2fb2b4dda464e}
\hypertarget{MMU-shanshan_8c_a598bed6597aa329da8f2fb2b4dda464e}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INKILL@{INKILL}}
\index{INKILL@{INKILL}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INKILL}]{\setlength{\rightskip}{0pt plus 5cm}\#define INKILL~3}}
\label{MMU-shanshan_8c_a598bed6597aa329da8f2fb2b4dda464e}
\hypertarget{MMU-shanshan_8c_adf8f731a9c130dc01b848aac99ab7f7c}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INPT@{INPT}}
\index{INPT@{INPT}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INPT}]{\setlength{\rightskip}{0pt plus 5cm}\#define INPT~0}}
\label{MMU-shanshan_8c_adf8f731a9c130dc01b848aac99ab7f7c}
\hypertarget{MMU-shanshan_8c_adf8f731a9c130dc01b848aac99ab7f7c}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INPT@{INPT}}
\index{INPT@{INPT}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INPT}]{\setlength{\rightskip}{0pt plus 5cm}\#define INPT~0}}
\label{MMU-shanshan_8c_adf8f731a9c130dc01b848aac99ab7f7c}
\hypertarget{MMU-shanshan_8c_a67b378a626278a335dbd930baad50dfb}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INSTOP@{INSTOP}}
\index{INSTOP@{INSTOP}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INSTOP}]{\setlength{\rightskip}{0pt plus 5cm}\#define INSTOP~4}}
\label{MMU-shanshan_8c_a67b378a626278a335dbd930baad50dfb}
\hypertarget{MMU-shanshan_8c_a67b378a626278a335dbd930baad50dfb}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!INSTOP@{INSTOP}}
\index{INSTOP@{INSTOP}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{INSTOP}]{\setlength{\rightskip}{0pt plus 5cm}\#define INSTOP~4}}
\label{MMU-shanshan_8c_a67b378a626278a335dbd930baad50dfb}
\hypertarget{MMU-shanshan_8c_a2a37b4217917105aac7557862ccc19c3}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!MAXSIZE@{MAXSIZE}}
\index{MAXSIZE@{MAXSIZE}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{MAXSIZE}]{\setlength{\rightskip}{0pt plus 5cm}\#define MAXSIZE~256}}
\label{MMU-shanshan_8c_a2a37b4217917105aac7557862ccc19c3}
\hypertarget{MMU-shanshan_8c_a2a37b4217917105aac7557862ccc19c3}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!MAXSIZE@{MAXSIZE}}
\index{MAXSIZE@{MAXSIZE}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{MAXSIZE}]{\setlength{\rightskip}{0pt plus 5cm}\#define MAXSIZE~256}}
\label{MMU-shanshan_8c_a2a37b4217917105aac7557862ccc19c3}
\hypertarget{MMU-shanshan_8c_aa8cecfc5c5c054d2875c03e77b7be15d}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!TRUE@{TRUE}}
\index{TRUE@{TRUE}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{TRUE}]{\setlength{\rightskip}{0pt plus 5cm}\#define TRUE~0}}
\label{MMU-shanshan_8c_aa8cecfc5c5c054d2875c03e77b7be15d}
\hypertarget{MMU-shanshan_8c_aa8cecfc5c5c054d2875c03e77b7be15d}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!TRUE@{TRUE}}
\index{TRUE@{TRUE}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{TRUE}]{\setlength{\rightskip}{0pt plus 5cm}\#define TRUE~0}}
\label{MMU-shanshan_8c_aa8cecfc5c5c054d2875c03e77b7be15d}


\subsection{Typedef Documentation}
\hypertarget{MMU-shanshan_8c_a803a7aeb8121b9770f4775c44ada788b}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!Frame\_\-table@{Frame\_\-table}}
\index{Frame\_\-table@{Frame\_\-table}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{Frame\_\-table}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf \_\-frame\_\-table} {\bf Frame\_\-table}}}
\label{MMU-shanshan_8c_a803a7aeb8121b9770f4775c44ada788b}
\hypertarget{MMU-shanshan_8c_a5c4e5ee44ef941e907226e78ccfd2c3c}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!Page\_\-table@{Page\_\-table}}
\index{Page\_\-table@{Page\_\-table}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{Page\_\-table}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf \_\-page\_\-table} {\bf Page\_\-table}}}
\label{MMU-shanshan_8c_a5c4e5ee44ef941e907226e78ccfd2c3c}
\hypertarget{MMU-shanshan_8c_a931a076b86bfd04c289bdf1eb83a95c6}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!TLB\_\-table@{TLB\_\-table}}
\index{TLB\_\-table@{TLB\_\-table}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{TLB\_\-table}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf \_\-tlb\_\-table} {\bf TLB\_\-table}}}
\label{MMU-shanshan_8c_a931a076b86bfd04c289bdf1eb83a95c6}


\subsection{Function Documentation}
\hypertarget{MMU-shanshan_8c_adb192d5846cb5adcfcddaf893e75adc4}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!add\_\-tlb@{add\_\-tlb}}
\index{add\_\-tlb@{add\_\-tlb}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{add\_\-tlb}]{\setlength{\rightskip}{0pt plus 5cm}int add\_\-tlb (
\begin{DoxyParamCaption}
\item[{{\bf TLB\_\-table} $\ast$}]{ tlb, }
\item[{int}]{ page\_\-num, }
\item[{int}]{ frame\_\-num}
\end{DoxyParamCaption}
)}}
\label{MMU-shanshan_8c_adb192d5846cb5adcfcddaf893e75adc4}
\hypertarget{MMU-shanshan_8c_ae4525b7daf4704ecbe2523070dd7222b}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!affiche@{affiche}}
\index{affiche@{affiche}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{affiche}]{\setlength{\rightskip}{0pt plus 5cm}void affiche (
\begin{DoxyParamCaption}
\item[{{\bf TLB\_\-table}}]{ tlb}
\end{DoxyParamCaption}
)}}
\label{MMU-shanshan_8c_ae4525b7daf4704ecbe2523070dd7222b}
\hypertarget{MMU-shanshan_8c_a3cddeb42542ab30a68d2cde1498c4800}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!cherche\_\-entree@{cherche\_\-entree}}
\index{cherche\_\-entree@{cherche\_\-entree}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{cherche\_\-entree}]{\setlength{\rightskip}{0pt plus 5cm}int cherche\_\-entree (
\begin{DoxyParamCaption}
\item[{{\bf TLB\_\-table} $\ast$}]{ tlb}
\end{DoxyParamCaption}
)}}
\label{MMU-shanshan_8c_a3cddeb42542ab30a68d2cde1498c4800}
\hypertarget{MMU-shanshan_8c_a0abcb47af9e858d68a2ae01cad25d1dd}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!flush\_\-tlb@{flush\_\-tlb}}
\index{flush\_\-tlb@{flush\_\-tlb}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{flush\_\-tlb}]{\setlength{\rightskip}{0pt plus 5cm}static void flush\_\-tlb (
\begin{DoxyParamCaption}
\item[{{\bf TLB\_\-table} $\ast$}]{ tlb, }
\item[{int}]{ cadre\_\-max}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{MMU-shanshan_8c_a0abcb47af9e858d68a2ae01cad25d1dd}
\hypertarget{MMU-shanshan_8c_af4215a88001c689829f6d9170143bd15}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!init\_\-surv@{init\_\-surv}}
\index{init\_\-surv@{init\_\-surv}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{init\_\-surv}]{\setlength{\rightskip}{0pt plus 5cm}static void init\_\-surv (
\begin{DoxyParamCaption}
\item[{fd\_\-set $\ast$}]{ s, }
\item[{struct timeval $\ast$}]{ t}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{MMU-shanshan_8c_af4215a88001c689829f6d9170143bd15}
\hypertarget{MMU-shanshan_8c_a0ddf1224851353fc92bfbff6f499fa97}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!main@{main}}
\index{main@{main}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{main}]{\setlength{\rightskip}{0pt plus 5cm}int main (
\begin{DoxyParamCaption}
\item[{int}]{ argc, }
\item[{char $\ast$}]{ argv\mbox{[}$\,$\mbox{]}}
\end{DoxyParamCaption}
)}}
\label{MMU-shanshan_8c_a0ddf1224851353fc92bfbff6f499fa97}
\hypertarget{MMU-shanshan_8c_aea5e8374602a55027f2a13b91ee35852}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!pt\_\-tlb@{pt\_\-tlb}}
\index{pt\_\-tlb@{pt\_\-tlb}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{pt\_\-tlb}]{\setlength{\rightskip}{0pt plus 5cm}static int pt\_\-tlb (
\begin{DoxyParamCaption}
\item[{{\bf TLB\_\-table}}]{ tlb, }
\item[{int}]{ page\_\-num}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{MMU-shanshan_8c_aea5e8374602a55027f2a13b91ee35852}
\hypertarget{MMU-shanshan_8c_a1f1c7f2736fc15ec70543b32050f2503}{
\index{MMU-\/shanshan.c@{MMU-\/shanshan.c}!read\_\-and\_\-parse@{read\_\-and\_\-parse}}
\index{read\_\-and\_\-parse@{read\_\-and\_\-parse}!MMU-shanshan.c@{MMU-\/shanshan.c}}
\subsubsection[{read\_\-and\_\-parse}]{\setlength{\rightskip}{0pt plus 5cm}static int read\_\-and\_\-parse (
\begin{DoxyParamCaption}
\item[{FILE $\ast$}]{ stream, }
\item[{int $\ast$}]{ outval1, }
\item[{int $\ast$}]{ outval2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{MMU-shanshan_8c_a1f1c7f2736fc15ec70543b32050f2503}
